package com.xdtech.sys.service;

import java.util.List;

import com.xdtech.common.service.IBaseService;
import com.xdtech.sys.model.Task;
import com.xdtech.sys.vo.TaskItem;

/**
 * 
 * @author max.zheng
 * @create 2015-05-10 23:05:41
 * @since 1.0
 * @see
 */
public interface TaskService extends IBaseService<Task>{

	/**
	 * 保存更新信息
	 * @author max.zheng
	 * @create 2015-05-10 23:05:41
	 * @modified by
	 * @param item
	 * @return
	 */
	boolean saveOrUpdateTask(TaskItem item);

	/**
	 * 加载记录信息
	 * @author max.zheng
	 * @create 2015-05-10 23:05:41
	 * @modified by
	 * @param newId
	 * @return
	 */
	TaskItem loadTaskItem(Long taskId);

	/**
	 * 根据id号删除记录信息
	 * @author max.zheng
	 * @create 2015-05-10 23:05:41
	 * @modified by
	 * @param id
	 * @return
	 */
	boolean deleteTaskInfo(long id);

	/**
	 * 
	 * @author max.zheng
	 * @create 2015-05-10 23:05:41
	 * @modified by
	 * @param taskIds
	 */
	boolean deleteTaskInfo(List<Long> taskIds);
	
	/**
	 * 加载vo列表条目
	 * @author max.zheng
	 * @create 2015-05-10 23:05:41
	 * @modified by
	 * @return
	 */
	List<TaskItem> loadItems();

	/**
	 * 启动所有配置的定时任务
	 * @author <a href="max.zheng@zkteco.com">郑志雄</>
	 * @since 2015-5-12 下午4:11:45
	 */
	void startAllTasks();

	/**
	 * 停止任务
	 * @author <a href="max.zheng@zkteco.com">郑志雄</>
	 * @since 2015-5-12 下午5:32:31
	 * @param taskIds
	 */
	void stopOrStartTasks(List<Long> taskIds,String flag) throws Exception;
}
